*********************************************************************************************************************************


This directory is associated with Rev 1 of the Application Note


     Boot Kernel Customization and Firmware Upgradeability on SHARC Processors (EE-345)


that can be found at www.analog.com/ee-notes


Analog Devices, Inc.
DSP Division
Three Technology Way
P.O. Box 9106
Norwood, MA 02062

Date Created:     October 5, 2009


*********************************************************************************************************************************

Description of the EE-Note:

SHARC processors are hardwired to read 256 instructions from either a non-volatile memory (master boot) or a host (slave boot) after reset.
This set of 256 instructions is called the boot kernel. The boot kernel reads the rest of the boot stream and initializes the internal 
and external memory with the main application. Default boot kernels for all boot modes are provided with the VisualDSP++ development tools.
Most of the time, the default boot kernel can be used as is to boot an application. Sometimes, a little modification of the boot kernel may
be needed to add PLL (Phase Locked Loop) or external memory controller (AMI, SDRAM/DDR2DRAM) initialization code. Moreover, some scenarios 
may require boot kennel modifications to achieve results different from the normal booting procedure.

This EE-Note discusses some of these scenarios and explains how the default boot kernels can be modified to satisfy the application 
requirements in such cases. The document further discusses how the firmware on SHARC-based boards can be upgraded dynamically using 
in-circuit flash programming. To illustrate the two concepts (boot kernel modification and firmware upgradeability), a typical application 
is provided as an example. This application first upgrades the firmware via RS-232 communication with a graphical user interface (GUI) 
running on the PC and then uses a customized boot kernel to load the upgraded application. To better illustrate the approaches discussed,
example code for the ADSP-21262, ADSP-21364, ADSP-21369, ADSP-21375, and ADSP-21469 EZ-KIT Lite evaluation systems are provided with
this application note in the associated .ZIP file.  


*********************************************************************************************************************************


This folder includes:

1) Approach 1 : This directory includes the modified boot kernels corresponding to the approach 1(modifying the read address in the USER_INIT section) for
   21262, 21364, 21369, 21375, and 21469 processors.

2) Approach 2 :	This directory includes the modified boot kernels corresponding to the approach 2(using multiprocessor boot feature)
   21161N processor.

*****************************************************************************************

ADSP-21161 code examples have been written and tested with:

	VisualDSP++ 5.0 Update 6

	ADSP-21161 silicon revision 1.2

	ADSP-21161 EZ-KIT Lite revision 3.0


ADSP-21262 code examples have been written and tested with:

	VisualDSP++ 5.0 Update 6

	ADSP-21262 silicon revision 0.1

	ADSP-21262 EZ-KIT Lite revision 2.0

ADSP-21364 code examples have been written and tested with:

	
	VisualDSP++ 5.0 Update 6

	ADSP-21364 silicon revision 0.5

	ADSP-21364 EZ-KIT Lite revision 2.0

ADSP-21369 code examples have been written and tested with

:

	
	VisualDSP++ 5.0 Update 6

	ADSP-21369 silicon revision 0.2

	ADSP-21369 EZ-KIT Lite revision 2.1


ADSP-21375 code examples have been written and tested with:
	
	VisualDSP++ 5.0 Update 6

	ADSP-21375 silicon revision 0.0

	ADSP-21375 EZ-KIT Lite revision 1.0


ADSP-21469 code examples have been written and tested with:

	VisualDSP++ 5.0 Update 6, Beta 1

	ADSP-21469 silicon revision 0.0

	ADSP-21469 EZ-KIT Lite revision 0.2



*****************************************************************************************
